<?php
//单利模式(防止出现多个相同对象资源)
class a{
	//存储当前类对象
	private static $obj="";
	//阻止当前类被实例化（因为实例化会自动调用构造，这里把构造修饰为受保护的，不能在外部调用，所以实现了阻止当前类被实例化）
	protected function __construct(){
	}
	//对象被克隆 自动触发（用private修饰，一旦克隆，就报错，从而防止被克隆）
	private function __clone(){
		//echo "对象被克隆了";
	}
	//产生当前类对象
	static function b(){
		if(self::$obj ==""){
			self::$obj = new a;
		}
		return self::$obj;
	}
}
$re= a::b();
$re1= a::b();
$re2= a::b();
// $re3= clone $re2;//类里有私有的防克隆方法，能防止克隆(下同)
//$re4= clone $re3;
var_dump($re,$re1,$re2,$re3,$re4);